package classes;

import Exceptions.DadosInsuficientesExceptions;

public class Iten {
	private String nomeItem, descricao;

	private Categoria categoria;

	TratamentoDeErros trataErros = new TratamentoDeErros();

	public Iten(String nomeItem, String descricao, Categoria categoria)
			throws DadosInsuficientesExceptions {
		this.nomeItem = trataErros.validaString(nomeItem);
		this.descricao = trataErros.validaString(descricao);
		this.categoria = trataErros.validaCategoria(categoria);
	}

	public Categoria getCategoria() {
		return categoria;
	}

	public void setCategoria(Categoria novaCategoria)
			throws DadosInsuficientesExceptions {
		this.categoria = trataErros.validaCategoria(novaCategoria);
	}

	public void setNome(String nome) throws DadosInsuficientesExceptions {
		this.nomeItem = trataErros.validaString(nome);
	}

	public String getNomeIten() {
		return nomeItem;
	}

	public void setDescricao(String descricao)
			throws DadosInsuficientesExceptions {
		this.descricao = trataErros.validaString(descricao);
	}

	public String getDescricao() {
		return descricao;
	}

	@Override
	public boolean equals(Object objeto) {
		if (!(objeto instanceof Iten))
			return false;
		Iten novoIten = (Iten) objeto;
		if (getNomeIten().equals(novoIten.getNomeIten())
				&& getDescricao().equals(novoIten.getDescricao())
				&& getCategoria().equals(novoIten.getCategoria())) {
			return true;

		} else {
			return false;
		}

	}
}